/*
 * main.cpp
 *
 *  Created on: Jan 13, 2012
 *      Author: mhl
 */
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
#include <fcntl.h>
#include <sys/types.h>
#include <errno.h>
#include <string.h>
#include <sys/stat.h>
#include <dirent.h>							// Do katalogów

DIR* dir;

void print_usage(char*);
DIR* open_dir(const char *dir_name);


void print_usage(char *prog_name)
{
	printf("Użycie: %s glebokosc folder\n", prog_name);

}

DIR* open_dir(const char *dir_name)
{
	int err;
	dir= opendir(dir_name);
	err= errno;
	if(dir== NULL)
	{
		printf("Error: %d %s\n", err, strerror(err));
		exit(-1);
	}
	return dir;
}


int main(int argc, char *argv[])			// Wypisz zawartosc katalogu argv[2], z głębokością argv[1]
{
	if(argc != 3)
	{
		print_usage(argv[0]);
		return -1;
	}
	int depth= strtol(argv[1], NULL, 0);
#ifdef DEBUG
	printf("depth %d\n", depth);
	printf("katalog %s\n", argv[2]);
#endif
	if(depth < 0)
	{
		print_usage(argv[0]);
		return -1;
	}
	open_dir(argv[2]);

	struct dirent *direntry;				//
	struct stat statentry;					//
	while((direntry= readdir(dir))!= NULL)
	{
		lstat(direntry->d_name, &statentry);
		if(S_ISDIR(statentry.st_mode))
		{

		}
	}


	return 0;
}




